//pager

interface Pager {
  current: number;
  count: number;
  pagesize: number;
}

//interview
interface AssessType {
  type: string;
  project: string;
  aim: string;
  actual: string;
  gap: string;
}

interface InterviewUInfo {
  badge: string;
  chinese_name: string;
  position: string;
  manager_result: string;
  flow_phase: string;
  flow_code: string;
  manager_save_flag: string;
}

interface InterviewData {
  docid: string;
  assessment_type: string;
  assessment_result: string;
  assessment_date: string;
  interview_date: string;
  assessment_next: string;
  last_update_by: string;
}

interface InterviewProject {
  project: string;
  target: string;
  examine_describe: string;
  improve_describe: string;
  rowid:string;
}

interface InterviewLines {
  key: number;
  value: InterviewProject[];
}

//improve
interface ImproveUinfo {
  badge: string;
  chinese_name: string;
  position: string;
  dept_code: string;
  spend_type: string;
  hire_date: string;
  manager_save_flag: string;
  sign_flag: string;
  sign_result_flag: string;
  flow_phase: string;
  flow_code: string;
}

interface ImproveData {
  docid: string;
  seq: number;
  improvement_theme: string;
  improvement_result: string;
  interview_date: string;
  last_update_by: string;
  lines: ImproveDataLines[];
}

interface ImproveDataLines {
  id: number | string;
  project: string;
  purpose: string;
  limit_start: string;
  limit_end: string;
  result?: string;
  is_adopt?: string;
}

//manager
interface ManagerData {
  docid: string;
  flow_code: string;
  flow_phase: string;
  is_improve: string;
}

//common
interface TableSetting {
  title: string;
  width?: number;
  key: string;
  dataIndex: string;
  formtypes: string;
  desc?: string;
}

interface selectOption {
  key: string;
  value: any;
}

//query
interface QueryType {
  rowseq: number;
  docid: string;
  badge: string;
  created_date: string;
  chinese_name: string;
  position: string;
  status: string;
  is_improve: string;
  assessment: string;
  next_push_flag: string;
}

interface FlowSource {
  flow: number;
  is_multi: string;
  flow_phase: string;
  last_update_time: string;
  chinese_name: string;
  approve: string;
}

export type {
  Pager,
  AssessType,
  TableSetting,
  InterviewUInfo,
  InterviewData,
  InterviewProject,
  InterviewLines,
  ImproveUinfo,
  ImproveData,
  ImproveDataLines,
  selectOption,
  ManagerData,
  QueryType,
  FlowSource,
};
